* {
    border: 0;
    margin: 0;
}

.song {
    display: none;
}
.style-button {
    display: inline-block;
    padding: 10px 5px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    outline: none;
    color:#fff;
    background-color: rgb(16, 185, 214);
    border: none;
    border-radius: 7px;
    box-shadow: 0 5px #999;
    &:hover {
        background-color: #1795bb;
    }
    &:active {
        background-color: #1795bb;
        box-shadow: 0 5px #666;
        transform: translateY(4px);
    }
}

.style-button:hover {
    background-color: #1795bb;
}

.container {
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden;
    background-color: #000000;

    &.container-animation {
        animation: container-bg-animation linear 8s infinite;
    }

    @keyframes container-bg-animation {
        0%{
            background-color: #FFDAB9;
        }
        25%{
            background-color: #FFE4B5;
        }
        50%{
            background-color: #FFDAB9;
        }
        75%{
            background-color: #FFEFD5;
        }
        100%{
            background-color: #FFDAB9;
        }
    }

    .happy-birthday-banner {
        position: absolute;
        left: 50%;
        top: 0;
        transform: translate(-50%, -60%);
        width: 100vw;
        z-index: 1;
        &.banner-come_animation {
            animation: bannar_come linear 6s;
            transform: translate(-50%, calc(-60% + 500px));
        }
    }
    .btn-position {
        position: absolute;
        top: 70%;
        margin-left: 10px;
        z-index: 9999;
    }

    .bulbs-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        opacity: 0;
        .bulb {
            width: 50px;
            height: 50px;
            margin-top: 20px;
            background-size: 50px 50px;
            background-image: url('./picture/bulb.png');
        }
        .bulb-yellow_animation {
            animation: bulb-glow-yellow linear 5s;
        }
        .bulb-yellow-animation-end {
            background-image: url('./picture/bulb_yellow.png');
        }
        .bulb-yellow_animation-after {
            animation: bulb-glow-yellow-after linear 1.2s infinite;
        }

        .bulb-red_animation {
            animation: bulb-glow-red linear 5s;
        }
        .bulb-red-animation-end {
            background-image: url('./picture/bulb_red.png');
        }
        .bulb-red_animation-after {
            animation: bulb-glow-red-after linear 1.1s infinite;
        }

        .bulb-blue_animation {
            animation: bulb-glow-blue linear 5s;
        }
        .bulb-blue-animation-end {
            background-image: url('./picture/bulb_blue.png');
        }
        .bulb-blue_animation-after {
            animation: bulb-glow-blue-after linear 1s infinite;
        }

        .bulb-green_animation {
            animation: bulb-glow-green linear 5s;
        }
        .bulb-green-animation-end {
            background-image: url('./picture/bulb_green.png');
        }
        .bulb-green_animation-after {
            animation: bulb-glow-green-after linear 1.3s infinite;
        }

        .bulb-orange_animation {
            animation: bulb-glow-orange linear 5s;
        }
        .bulb-orange-animation-end {
            background-image: url('./picture/bulb_orange.png');
        }
        .bulb-orange_animation-after {
            animation: bulb-glow-orange-after linear 1.4s infinite;
        }

        .bulb-pink_animation {
            animation: bulb-glow-pink linear 5s;
        }
        .bulb-pink-animation-end {
            background-image: url('./picture/bulb_pink.png');
        }
        .bulb-pink_animation-after {
            animation: bulb-glow-pink-after linear 1.5s infinite;
        }
    }

    .balloon-border {
        position: absolute;
        width: 200vw;
        transform: translateX(-50vw);
        top: 100vh;
        transition: all 8s;
        z-index: 10000;
        &.fly-end {
            top: -5vh;
        }
    }

    .balloon {
        width: 25vw;
        height: 200px;
        position: absolute;
        left: -25vw;
        bottom: -20vh;
        transition: all linear 10s;
        z-index: 99;
        background-repeat: no-repeat no-repeat;
        background-size: contain;
        opacity: 0;

        h2 {
            line-height: 130px;
            display: none;
        }

        &#balloon1 {
            background-image: url('./picture/b1.png');
        }
        
        &#balloon2 {
            background-image: url('./picture/b2.png');
        }
        
        &#balloon3 {
            background-image: url('./picture/b3.png');
        }
        
        &#balloon4 {
            background-image: url('./picture/b4.png');
        }
        
        &#balloon5 {
            background-image: url('./picture/b5.png');
        }
        
        &#balloon6 {
            background-image: url('./picture/b6.png');
        }
        
        &#balloon7 {
            background-image: url('./picture/b7.png');
        }

        &.balloon-show {
            animation: balloon-show-animation linear 1s;
            opacity: 1;
        }

        &.balloon-behavior-one {
            animation: balloon_rotate_one linear 10s infinite;
        }

        @keyframes balloon_rotate_one {
            0% {
                transform: rotate(30deg);
            }
            50% {
                transform: rotate(-30deg);
            }
            100% {
                transform: rotate(30deg);
            }
        }

        &.balloon-behavior-two {
            animation: balloon_rotate_two linear 10s infinite;
        }

        @keyframes balloon_rotate_two {
            0% {
                transform: rotate(-20deg);
            }
            50% {
                transform: rotate(20deg);
            }
            100% {
                transform: rotate(-20deg);
            }
        }
    }

    .cake {
        position: absolute;
        bottom: 0;
        left: 50%;
        height: 30vh;
        transform: translate(-50%, 5vh);
        display: none;
        &.show {
            display: block;
            animation: cake-animation linear 2.5s;
        }

        @keyframes cake-animation {
            0% {
                opacity: 0;
            }
            50% {
                opacity: 0.5;
            }
            100% {
                opacity: 1;
            }
        }
    }

    .message {
        position: absolute;
        width: 80vw;
        font-size: 30px;
        color: #C4515C;
        font-style: oblique;
        left: 50%;
        transform: translate(-50%, 15vh);
        z-index: 10001;
        display: none;
        opacity: 0;
        &.show {
            display: block;
            animation: message-show-animation linear 4.5s;
            opacity: 1;
        }
    }
    @keyframes message-show-animation {
        0% {
            opacity: 0;
        }
        50% {
            opacity: 0.5;
        }
        100% {
            opacity: 1;
        }
    }
}

@keyframes bulb-glow-yellow {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_yellow.png');
        opacity: 1;
    }
}
@keyframes bulb-glow-red {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_red.png');
        opacity: 1;
    }
}
@keyframes bulb-glow-blue {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_blue.png');
        opacity: 1;
    }
}
@keyframes bulb-glow-green {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_green.png');
        opacity: 1;
    }
}
@keyframes bulb-glow-orange {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_orange.png');
        opacity: 1;
    }
}
@keyframes bulb-glow-pink {
    0% {
        background-image: url('./picture/bulb.png');
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        background-image: url('./picture/bulb_pink.png');
        opacity: 1;
    }
}

.btn-appear_animation {
    animation: btn-appear linear 1.5s;
}
@keyframes btn-appear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


@keyframes bulb-glow-yellow-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_yellow.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bulb-glow-red-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_red.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bulb-glow-blue-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_blue.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bulb-glow-green-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_green.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bulb-glow-orange-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_orange.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bulb-glow-pink-after {
    0% {
        background-image: url('./picture/bulb.png');
    }
    50% {
        background-image: url('./picture/bulb_pink.png');
    }
    100% {
        background-image: url('./picture/bulb.png');
    }
}

@keyframes bannar_come {
	0%{
        transform: translate(-50%, -60%);
	}
	33%{
		transform: translate(-50%, calc(-60% + 500px)) rotate(10deg);
	}
	66% {
		transform: translate(-50%, calc(-60% + 600px)) rotate(-10deg);
	}
	100% {
		transform: translate(-50%, calc(-60% + 500px));
	}
}

@keyframes balloon-show-animation {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}